Most displays (e.g., computer monitors) display images in a landscape mode where the image data is displayed row-by-row, often from left to right, top to bottom. Display systems therefore are conventionally organized to accommodate landscape-mode displays by organizing rasterized image in a frame buffers so that each buffer line of the frame buffer stores data for a corresponding segment of a row of pixels of the image. Accordingly, to display an image on the monitor, the display system accesses each buffer line in sequence and provides the data contents of the buffer line to the display for display as a portion of a row of pixels.
Due to their landscape-oriented frame buffer configuration and due to the buffer-line length access transactions for most frame buffers, it is inefficient to read the data in a landscape-oriented frame buffer vertically so as to output a portrait-oriented image. Accordingly, display systems often must implement considerable effort to convert the display from a landscape orientation to a portrait orientation so that the portrait-oriented image data can be accessed on a buffer line-by-buffer line basis. This conversion typically entails rotating the landscape-oriented rasterized image data in one frame buffer to a portrait orientation in another frame buffer so that a row of pixel data for a row of pixels in the landscape orientation becomes a column of pixel data for the corresponding column of pixels. However, because frame buffers typically are accessed on a buffer line-by-buffer line basis, conventional image rotation techniques typically entail accessing each of the buffer lines of the first frame buffer numerous times to fill in the second frame buffer. Accordingly, an improved technique for rotating rasterized image data would be advantageous.